target_model_id = "BAAI/bge-m3"
from huggingface_hub import scan_cache_dir
cache_info = scan_cache_dir()
import shutil
import os
print(cache_info)

for repo in cache_info.repos:
    if repo.repo_id == target_model_id:
        # 3. 获取模型缓存文件夹路径
        cache_path = repo.repo_path
        print(f"找到目标模型缓存：{cache_path}")
        
        # 4. 删除文件夹（需确认路径正确，避免误删）
        if os.path.exists(cache_path):
            shutil.rmtree(cache_path)
            print(f"已删除本地缓存：{cache_path}")
        break
else:
    print(f"未找到模型 {target_model_id} 的本地缓存")


# 用pathlib
from huggingface_hub import scan_cache_dir
from pathlib import Path  # 导入 pathlib
import shutil

cache_info = scan_cache_dir()
print(cache_info)

target_model_id = "Qwen/Qwen3-Embedding-0.6B"
for repo in cache_info.repos:
    if repo.repo_id == target_model_id:
        # 用 Path 包装缓存路径，转为 Path 对象
        cache_path = Path(repo.repo_path)
        print(f"找到目标模型缓存：{cache_path}")
        
        # Path.exists() 替代 os.path.exists()
        if cache_path.exists():
            # Path.unlink() 删文件，rmtree() 删文件夹（需确认是目录）
            if cache_path.is_dir():
                shutil.rmtree(cache_path)  # 文件夹用 rmtree（pathlib 无内置递归删文件夹方法，仍需借助 shutil）
                # 或用 cache_path.rmdir() 但仅能删空文件夹，不适合模型缓存（含多层文件）
            else:
                cache_path.unlink()  # 若为文件直接删除
            print(f"已删除本地缓存：{cache_path}")
        break
else:
    print(f"未找到模型 {target_model_id} 的本地缓存")

# 删除的命令 hf cache delete # 需要uv add huggingface_hub[cli]